package com.txzt.gaea.business.ident.domain.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.txzt.gaea.flow.vo.FlowBizStepVo;
import lombok.Data;
import org.beetl.sql.core.annotatoin.InsertIgnore;
import org.beetl.sql.core.annotatoin.Table;
import org.beetl.sql.core.annotatoin.UpdateIgnore;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@Table(name="tb_ident_info")
public class IdentInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /*主键id*/
    private Long id ;
    /*流程id*/
    private Long flowId ;
    /*鉴定编号*/
    private String identCode ;
    /*鉴定级别*/
    private String identLevel ;
    /*鉴定时间*/
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date identTime ;
    /*申报状态*/
    private Integer declareStatus ;
    /*成果编号*/
    private String resultCode ;
    /*成果文件*/
    private String resultFile ;
    /*任务来源*/
    private String taskSource ;
    /*项目名称*/
    private String projectName ;
    /*项目组长*/
    private Long projectLeader ;
    /*主要研究成果*/
    private String researchResult ;
    /*完成时间*/
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date finishTime ;
    /*备注*/
    private String remark ;
    /*创建人*/
    private Long createBy ;
    /*创建时间*/
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime ;
    /*更新人*/
    private Long updateBy ;
    /*更新时间*/
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime ;
    /*删除标志*/
    private Integer isDelete ;

    private Long deptId;


    /*创建人*/
    @UpdateIgnore
    @InsertIgnore
    private String createName ;

    /*项目组长*/
    @UpdateIgnore
    @InsertIgnore
    private String projectLeaderName ;

    /*当前审核流程步骤*/
    @UpdateIgnore
    @InsertIgnore
    private List<FlowBizStepVo> flowStep ;

    /** 权限用户 */
    @UpdateIgnore
    @InsertIgnore
    private Long permissionUser;

    /** 权限部门 */
    @UpdateIgnore
    @InsertIgnore
    private Long permissionDept;

    /** 当前登录用户 */
    @UpdateIgnore
    @InsertIgnore
    private Long currentUser;

    /** 是否可审核 */
    @UpdateIgnore
    @InsertIgnore
    private Boolean isCheck;

    /** 是否可撤回 */
    @UpdateIgnore
    @InsertIgnore
    private Boolean isRevocation;

    /** 是否可撤回流程 */
    @UpdateIgnore
    @InsertIgnore
    private Boolean isFlowRevocation;

    @InsertIgnore
    @UpdateIgnore
    private Integer currentStatus;
    @InsertIgnore
    @UpdateIgnore
    private String currentStepUserName;
    /** 是否审核提交 */
    @UpdateIgnore
    @InsertIgnore
    private Boolean isCheckSubmit;
    /** 当前审批用户 */
    @UpdateIgnore
    @InsertIgnore
    private Long currentStepMember;
}
